<?php

/**
 * LineasTelefonicas
 * 
 * @package Sgit 
 * @author Juan Manuel Martinez Carrillo
 * @copyright Juan Manuel Martinez Carrillo
 * @version 2012
 * @access public
 * @revision 17/02/2012 9:06:
 * 
 */



class LineasTelefonicasController extends Sgit_Controller_Action
{
    
    protected $_main_model = 'LineasTelefonicas';
    protected $_main_form = 'LineasTelefonicas';
    protected $_checkZona=TRUE;
    
    public function indexPublicoAction()
    {
        $this->_forward('index');
    }
    
    
    
    public function indexAction()
    {

        $id_sala = $this->_getParam('id_sala');
        $id_proyecto = $this->_getParam('id_proyecto');
        
        
        $filtros = new Sgit_Form_Filtros();
        
        $proyectos = new Sgit_Form_Element_Select_ProyectosServicios('id_proyecto');
        $tipo = new Sgit_Form_Element_Select_Xml('LineaTelefonicaTipo');
        $sala = new Sgit_Form_Element_Select_Salas('id_sala');
        $numero = new Zend_Form_Element_Text('numero');
        $numero->setLabel('Nº Teléfono');
        $administrativo = new Zend_Form_Element_Text('administrativo');
        $administrativo->setLabel('Administrativo');
        $grupo = new Zend_Form_Element_Text('grupo');
        $grupo->setLabel('Grupo');
        $par = new Zend_Form_Element_Text('par');
        $par->setLabel('Par');
        
        $filtros->addFormSelect($proyectos);
        $filtros->addFormSelect($tipo);
        $filtros->addFormSelect($sala);
        $filtros->addFormSelect($numero);
        $filtros->addFormSelect($administrativo);
        $filtros->addFormSelect($grupo);
        $filtros->addFormSelect($par);
        
        $values = $this->_getFiltrosValues($filtros);
        $filtros->addPdf();
        $filtros->addExcel();
        $filtros->myRender();
        
        $values['id_zona']=$this->_idZona;
        
        if ($this->_request->isPost())
            $this->view->rows=$this->_model->default->getLineas($values);
        else 
            $this->view->msgPost=$this->view->msg('Usa los filtros para realizar la busqueda','atencion');
        
        $this->_pdfSubTitle = $this->zona;
        $this->_export($this->view->rows);
        
        $xml = $this->_getXml($this->_actionName);
        $this->view->columnas = $xml['columnas'];
      
    
    }
    
    
    public function insertarAction()
    {
        $this->_insertar();
    }

    public function editarAction()
    {
        $this->_editar();
    }

    public function borrarAction()
    {
        $this->_borrar();
    }
    
    
    protected function _prepareValuesToForm($row)
    {
        $row['fecha_entrega']=Sgit_Filter_DateDbToForm::filter($row['fecha_entrega']);
        return $row;
    }
    
    protected function _prepareValuesToDb()
    {
        $row = $this->_form->getValues();
        
        if(!$this->_id)
        {
            if($row['grupo'] && $row['par'])
            {
                $c=$this->_model->default->testGrupo($this->_idZona,$row['grupo'],$row['par']);
                if($c>1) exit('<br>Ya existe otra linea con este grupo-par');
            }
        }
        

        
        if($row['espejo'] && $row['espejo_par'])
        {
            $c=$this->_model->default->testEspejo($this->_idZona,$row['espejo'],$row['espejo_par']);
            if($c>1) exit('<br>Ya existe otra linea con este espejo-par');
        }
  
  
        $row['fecha_entrega']=Sgit_Filter_DateToDb::filter($row['fecha_entrega']);
        
        if(!$this->_id)
        {
            $row['id_zona'] = $this->_idZona;
        }
        
      
        return $row;
    }


    protected function _getFila($id)
    {
        $row = $this->_model->default->GetLinea($id);
        return $row;
    }



}
